// 7-15 二进制数据转换成十进制数 (5.15) (15分)
// 输入1个无符号二进制数串，编写程序将其转换成对应的十进制数，并输出。

// 输入格式:
// 输入1个二进制数串（至少1位且不超过16位）。

// 输出格式:
// 输出转换后的十进制数。
#include <stdio.h>
#include <string.h>
#define LENGTH 17

char * s_gets(char * st, int n)
{
    int i = 0;
    char * ret_val;
    ret_val = fgets(st, n, stdin);
    if (ret_val)
    {
        while (st[i] != '\0' && st[i] != '\n')
        {
            i++;
        }
        if (st[i] == '\n')
        {
            st[i] = '\0';
        }
        else
        {
            while (getchar() != '\n')
            {
                continue;
            }
        }
    }

    return ret_val;
}

int main()
{
    char str[LENGTH];
    s_gets(str, LENGTH);
    long int ret = 0;
    for (int i = 0; i < strlen(str); i++)
    {
        ret = 2 * ret + (str[i] - '0');
    }
    printf("%ld", ret);

    return 0;
}
// 输入样例:
// 0110110001100
// 输出样例:
// 3468